package com.ruoyi.training.mapper;

import java.util.List;
import com.ruoyi.training.domain.PaymentRecord;
import com.ruoyi.training.dto.payment.PaymentInvoiceDto;
import com.ruoyi.training.vo.payment.SelectPayVo;

/**
 * 缴费记录Mapper接口
 * 
 * @author hcc
 * @date 2025-09-28
 */
public interface PaymentRecordMapper 
{
    /**
     * 查询缴费记录
     * 
     * @param paymentRecordId 缴费记录主键
     * @return 缴费记录
     */
    public PaymentRecord selectPaymentRecordByPaymentRecordId(String paymentRecordId);

    /**
     * 查询缴费记录列表
     * 
     * @param paymentRecord 缴费记录
     * @return 缴费记录集合
     */
    public List<PaymentRecord> selectPaymentRecordList(PaymentRecord paymentRecord);

    /**
     * 新增缴费记录
     * 
     * @param paymentRecord 缴费记录
     * @return 结果
     */
    public int insertPaymentRecord(PaymentRecord paymentRecord);

    /**
     * 修改缴费记录
     * 
     * @param paymentRecord 缴费记录
     * @return 结果
     */
    public int updatePaymentRecord(PaymentRecord paymentRecord);

    /**
     * 删除缴费记录
     * 
     * @param paymentRecordId 缴费记录主键
     * @return 结果
     */
    public int deletePaymentRecordByPaymentRecordId(String paymentRecordId);

    /**
     * 批量删除缴费记录
     * 
     * @param paymentRecordIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deletePaymentRecordByPaymentRecordIds(String[] paymentRecordIds);
    /**
     * 查询缴费记录列表
     *
     * @param selectPayVo 缴费记录
     * @return 缴费记录集合
     */
    public List<PaymentRecord> selectPaymentList(SelectPayVo selectPayVo);

    // 通过id查询缴费记录
    public List<PaymentRecord> selectByIds(String[] paymentRecordIds);

    // 条件查询缴费记录id
    public List<String> selectPaymentIdsByCondition(SelectPayVo selectPayVo);
//    public List<PaymentRecord> selectPaymentIdsByCondition(SelectPayVo selectPayVo);
}
